/*
 * Vetor2d.cpp
 *
 *  Created on: May 3, 2012
 *      Author: jairo
 */

#include "Vetor2d.h"

Vetor2d::Vetor2d(float _x, float _y)
	: x(_x), y(_y)
{
	// Do nothing
}

Vetor2d::~Vetor2d(void) {
	x = y = 0.0f / 0.0f;
}

float Vetor2d::pseudoAngulo(void)
{
	// 1º octante
	if (x > 0 && y >= 0 && x > y)
		return y / x;
	// 2º octante
	else if (x > 0 && y > 0 && x <= y)
		return 2.0f - x / y;
	// 3º octante
	else if (x <= 0 && y > 0 && -x < y)
		return 2.0f - x / y;
	// 4º octante
	else if (x < 0 && y > 0 && -x <= y)
		return 4.0f + y / x;
	// 5º octante
	else if (x < 0 && y <= 0 && x < y)
		return 4.0f + y / x;
	return 0.0f / 0.0f;
}
